//ES6类
class Service {
    //原型对象的方法
    API(params: any): any {
        //全部请求的基础路径
        const baseURL = 'https://gmall-prod.atguigu.cn/skb';
        //加载效果开启
        uni.showLoading({
            title: '加载....'
        })

        //判断用户是否登录:如有token携带
        const token = uni.getStorageSync('TOKEN');
        var header: any = {};
        if (token) {
            header.token = token;
        }


        return new Promise((resolve, reject) => {
            //uni-app提功的API进行网络发请求
            uni.request({
                url: baseURL + params.url,//请求的地址
                method: params.method || 'GET',//请求方式
                data: params.data || {},//携带的参数
                header,
                success(res) {//请求成功返回服务器的数据
                    resolve(res.data);//简化数据
                },
                fail(error) { //请求失败
                    reject(error);
                },
                complete() {//成功失败都执行
                    uni.hideLoading();
                }
            })

        })
    }
    //发GET
    get(params: any) {
        params.method = "GET";
        return this.API(params);
    }
    //发post
    post(params: any) {
        params.method = "POST";
        return this.API(params);
    }
    //发delete
    delete(params: any) {
        params.method = "DELETE";
        return this.API(params);
    }
}

export default Service;


